package com.voice.call.service;

import java.util.List;

import com.voice.call.common.Result;
import com.voice.call.common.ResultEnum;
import com.voice.call.entity.UserInfo;
import com.voice.call.entity.VosAccount;

public interface UserInfoService {

	
	/**
	 * 自动登录(xaid+mac)
	 * @param entity
	 * @return
	 */
	Result autoLogin(UserInfo entity,String code,String v);
	
	
	/***
	 * facebook用户授权登录
	 * @param entity 用户对象
	 * @return
	 */
	Result userFbLogin(UserInfo entity,String vcode,String v,String loginType);
	
	/**
	 * 手机号+验证码登录
	 * @param user   手机号
	 * @param vcode  验证码
	 * @return
	 */
	Result userSMSLogin(UserInfo user,String vcode,String v);
	
	/***
	 * 使用帐户与密码登录
	 * @param phone  手机号
	 * @param pwd    密码
	 * @return
	 */
	Result userAccountLogin(String phone,String pwd,String ip,String v,String xaid,String mac);
	
	//用户设置密码
	Result settingPassword(Integer id,String pwd);
	
	//绑定手机
	Result bindPhone(Integer id,String phone,String vcode,String ip,String xaid,String mac);
	
	//查询用户是否存在
	Result existsUser(String phone);
	
	UserInfo getUserForId(Integer uid);
	
	//查询用户
	UserInfo findByPhone(String phone);
	
	/**
	 * 获取7天内没有拨打的记录的话机用户列表
	 * @param icall  话机前缀
	 * @return
	 */
	List<UserInfo> getUnTelephoneList(VosAccount acct);
	
	//查询帐户信息
	Result queryUserForXaidMac(String xaid,String mac);
	
	//修改用户信息
	Result editUser(UserInfo user);
	
	
	//请求验证
	ResultEnum requestVerify(String uid,String token);
	
	//重置密码
	//Result resetPassword(Integer uid,String password,String vcode);
}
